// fs 模块可以实现与硬盘的交互
// 例如文件的创建、删除、重命名、移动、内容的写入、读取
// 以及文件夹的相关操作
const fs = require("fs");
const path = require("path");

// 1、异步写入文件
// fs.writeFile("./test.txt", "hello world", (err) => {
//   if (err) {
//     console.log(err);
//   } else {
//     console.log("写入成功");
//   }
// });

// console.log("writeFile");

// 2、同步写入文件
// fs.writeFileSync("./data.txt", "hello world2");

// console.log("writeFileSync");

// 3、追加写入
// fs.appendFile("./data.txt", "追加写入信息", (err) => {
//   if (err) {
//     console.log(err);
//   } else {
//     console.log("追加写入成功");
//   }
// });

// fs.appendFileSync("./test.txt", "\r\n追加写入信息", (err) => {
//   if (err) {
//     console.log(err);
//   } else {
//     console.log("追加写入成功");
//   }
// });

// 追加写入
// fs.writeFile(
//   "./test.txt",
//   "\r\n追加写入writeFile",
//   { flag: "a" },
//   (err) => {
//     if (err) {
//       console.log(err);
//     } else {
//       console.log("写入成功");
//     }
//   }
// );

// 流式写入
// let ws = fs.createWriteStream("./观书有感.txt");
// ws.write("半亩方塘一鉴开\n");
// ws.write("天光云影共徘徊\n");
// ws.write("问渠那得清如许\n");
// ws.write("为有源头活水来\n");
// ws.end();


// 相对路径：相对于当前文件
// 相对路径参照物：命令行的工作目录 (***)
// fs.writeFileSync("./data.txt", "hello world2");
// fs.writeFileSync("../data.txt", "hello world2");

// 绝对路径: 指定文件路径
// fs.writeFileSync("D:/index.html", "hello world3");

// __dirname'全局变量' 保存的是：所在文件的所在目录的绝对路径
console.log(__dirname);
// fs.writeFileSync(`${__dirname}/index.html`, "love");

// path.resolve 拼接规范的绝对路径
console.log(path.resolve(__dirname, "index.html"));
